﻿using QueuesLib;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;

namespace QueuesServer {
    [ServiceContract]
    public interface IQueuesService {

        [OperationContract]
        string Ping();

        [OperationContract]
        [FaultContract(typeof(UnauthorizedAccessException))]
        string Register(string clientId);

        [OperationContract(IsOneWay=true)]
        void Unregister(string clientId);

        [OperationContract]
        List<QueueInfo> GetQueuesInfo();

        [OperationContract]
        List<Subject> GetSubjects();

        [OperationContract]
        List<Counter> GetCounters();
    }

}
